//
//
//package com.jiegui.oss;
//
//import com.jiegui.common.exception.user.RRException;
//import com.qiniu.common.Zone;
//import com.qiniu.http.Response;
//import com.qiniu.storage.Configuration;
//import com.qiniu.storage.UploadManager;
//import com.qiniu.util.Auth;
//import org.apache.commons.io.IOUtils;
//
//import java.io.IOException;
//import java.io.InputStream;
//
///**
// * 七牛云存储
// *
// * @author chenzhen
// */
//public class QiniuCloudStorageService extends CloudStorageService {
//    private UploadManager uploadManager;
//    private String token;
//
//    public QiniuCloudStorageService(CloudStorageConfig config) {
//        this.config = config;
//
//        //初始化
//        init();
//    }
//
//    private void init() {
//        uploadManager = new UploadManager(new Configuration(Zone.autoZone()));
//        token = Auth.create(config.getQiniuAccessKey(), config.getQiniuSecretKey()).
//                uploadToken(config.getQiniuBucketName());
//    }
//
//    @Override
//    public String upload(byte[] data, String path) {
//        try {
//            Response res = uploadManager.put(data, path, token);
//            if (!res.isOK()) {
//                throw new RuntimeException("上传七牛出错：" + res.toString());
//            }
//        } catch (Exception e) {
//            throw new RRException("上传文件失败，请核对七牛配置信息", e);
//        }
//
//        return config.getQiniuDomain() + "/" + path;
//    }
//
//    @Override
//    public String upload(InputStream inputStream, String path) {
//        try {
//            byte[] data = IOUtils.toByteArray(inputStream);
//            return this.upload(data, path);
//        } catch (IOException e) {
//            throw new RRException("上传文件失败", e);
//        }
//    }
//
//    @Override
//    public String uploadSuffix(byte[] data, String suffix) {
//        return upload(data, getPath(config.getQiniuPrefix(), suffix));
//    }
//
//    @Override
//    public String uploadSuffix(byte[] data, String suffix, String prefix) {
//        return upload(data, getPath(config.getQiniuPrefix() + prefix, suffix));
//    }
//
//    @Override
//    public String uploadSuffix(InputStream inputStream, String suffix) {
//        return upload(inputStream, getPath(config.getQiniuPrefix(), suffix));
//    }
//}
